"""
author：fc
date：  2021/10/3
"""
# 这是一个模块测试
# 
#
import numpy as np
import pandas as pd
import matplotlib as plt
import scipy

array1 = np.array(["a", "1", "8", "2"])
print(array1)
array2 = np.array([
    [2, 1],
    [8, 2]
])
print(array2.shape)
array3 = np.array([
    [
        ["a", "1"],
        ["5", "2"]
    ],
    [
        ["8", "2"],
        ["7", "3"]
    ]
])
print(array3.shape)

print(f"array2排序:{np.sort(array2)}")
print(f"array2最大值：{np.max(array2)}")

# 这是一个3为数组，axis=2,是根据最内部维排序，它将一维中的顺序按小到大排序了，又将二维中的顺序按小到大排序了
print(f"array3排序:{np.sort(array3, axis=2)}")
# print(f"最大值：{np.max(array3)}") ,这里有字符，肯定找最大值有错误


"""
pandas的使用，付成，加油，别畏缩呀
pandas主要使用的有Series(产生数字,会有索引)和DataFrame（产生数据框，也有索引）
"""
a = pd.Series([1, 3, 46, 2])
print(f"------------------------\na:\n{a}\n------------------------")
b = pd.Series([1, 3, 46, 2], index=["one", "two", "threes", "four", ])  # 指定索引
print(f"------------------------\nb:\n{b},{b['two']}\n------------------------")

df1 = pd.DataFrame([  # 会自动生成行名和列名，分别都是0，0；1,1；
    [1, 8, 9],
    [9, 7, 3],
    [2, 5, 4]
])
print(f"------------------------\ndf1:\n{df1}\n------------------------")

# 指定列名
df2 = pd.DataFrame([  # 会自动生成行名和列名，分别都是0，0；1,1；
    [1, 8, 9],
    [9, 7, 3],
    [2, 5, 4]
], columns=["one", "two", "threes"])
print(f"------------------------\ndf2:\n{df2} \n{df2['two']}\n------------------------")

# 字典方式创建数据框
df3 = pd.DataFrame({
    "one": 4,  # 会填充本身,填充列
    "two": [5, 1, 3, 1, 2, 3],
    "three": list(str(765123)),
    "four": [5, 1, 7, 1, 2, 3],
    "five": [5, 1, 8, 1, 2, 3],
    "six": [5, 1, 8, 1, 2, 3],
})
print(f"------------------------\ndf3:\n{df3}\n------------------------")
df4 = df3.head(6)  # 头部数据，默认前五行，取前n行
print(f"------------------------\ndf4:\n{df4}\n------------------------")
df5 = df3.tail(2)  # 尾部数据，默认后面五行，取后n行
print(f"------------------------\ndf5:\n{df5}\n------------------------")

count1 = df3.describe()  # 计数 每行数的个数，平均数，标准差，最小（大）数，分位数
print(f"------------------------\ncount1:\n{count1}\n------------------------")

# 数据转置
df_t=df3.T
print(f"------------------------\ndf_t:\n{df_t}\n------------------------")
